home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 February / Macworld (1999-02).dmg / Games World / SharewareGames / Xconq 7.2.2 / lib / ww2-adv.g < prev    next >
Text File  |  1998-05-22  |  12KB  |  525 lines

  1. (game-module "ww2-adv"
  2.   (title "WWII Advanced")
  3.   (blurb "base module for strategic-level WWII")
  4.   )
  5.  
  6. ;;; Types.
  7.  
  8. (unit-type infantry (image-name "inf")
  9.   (help "a primarily foot-powered army"))
  10. (unit-type armor (image-name "armor")
  11.   (help "a primarily mechanized army"))
  12.  
  13. (define ground-types (infantry armor))
  14.  
  15. (unit-type air-force (image-name "4e")
  16.   (help "ground support capability"))
  17. (unit-type bomber
  18.   (help "strategic bombing capability"))
  19. (unit-type interceptor (image-name "1e")
  20.   (help "anti-bomber capability"))
  21.  
  22. (define air-types (air-force bomber interceptor))
  23.  
  24. (unit-type convoy (image-name "ap")
  25.   (help "transportation capability"))
  26. (unit-type fleet (image-name "bb")
  27.   (help "naval combat capability"))
  28. (unit-type cv-fleet (image-name "cv")
  29.   (help "seaborne aircraft base"))
  30. (unit-type sub-fleet (image-name "sub")
  31.   (help "submarine capability"))
  32. (unit-type asw-fleet (image-name "dd")
  33.   (help "anti-submarine capability"))
  34.  
  35. (define ship-types (convoy fleet cv-fleet sub-fleet asw-fleet))
  36.  
  37. (unit-type base (image-name "airbase")
  38.   (help ""))
  39. (unit-type town (image-name "town20")
  40.   (help ""))
  41. (unit-type city (image-name "city20")
  42.   (help "major cities only"))
  43. (unit-type port-city (image-name "anchor")
  44.   (help "major port cities only"))
  45. (unit-type capital (image-name "city20")
  46.   (help "capital of a country or region"))
  47.  
  48. (define place-types (base town city port-city capital))
  49.  
  50. (define builders         (town city port-city capital))
  51.  
  52. (define inf infantry)
  53.  
  54. (material-type oil
  55.   (help "motive power for units"))
  56. (material-type planes
  57.   (help "combat power for air units"))
  58.  
  59. (terrain-type sea (char ".")
  60.   (help "deep water"))
  61. (terrain-type shallows (char ",")
  62.   (help "shallow coastal water and lakes"))
  63. (terrain-type swamp (char "="))
  64. (terrain-type desert (char "~")
  65.   (help "dry open terrain"))
  66. (terrain-type land (image-name "plains") (char "+")
  67.   (help "open flat or rolling country"))
  68. (terrain-type forest (char "%"))
  69. (terrain-type mountains (char "^"))
  70. (terrain-type ice (char "_"))
  71. (terrain-type neutral (image-name "gray") (char "-"))
  72. (terrain-type river (char "<")
  73.   (subtype border) (subtype-x river-x))
  74. (terrain-type cliffs (image-name "black") (char "|")
  75.   (subtype border))
  76. (terrain-type salt-marsh (image-name "swamp") (char "=")
  77.   (subtype border))
  78. (terrain-type road (char ">")
  79.   (subtype connection) (subtype-x road-x))
  80.  
  81. ; need a coating for snow
  82.  
  83. ;(table terrain-interaction (river (sea shallows) non-terrain))
  84.  
  85. (add (sea shallows) liquid true)
  86.  
  87. (define sea-t* (sea shallows))
  88.  
  89. (define land-t* (desert land forest mountains))
  90.  
  91. ;;; Static relationships.
  92.  
  93. (table vanishes-on
  94.   (ground-types sea-t* true)
  95.   (ground-types ice true)
  96.   (ship-types land-t* true)
  97.   (ship-types ice true)
  98.   (place-types sea-t* true)
  99.   (place-types ice true)
  100.   (u* neutral true)
  101.   )
  102.  
  103. ;;; Unit-unit capacities.
  104.  
  105. ;(table unit-capacity-x
  106. ;  (cv fighter 4)
  107. ;  )
  108.  
  109. (table unit-size-as-occupant
  110.   ;; Disable occupancy by default.
  111.   (u* u* 99)
  112.   (ground-types (convoy fleet) 1)
  113.   (ground-types place-types 20)
  114.   (air-types (convoy fleet cv-fleet) 1)
  115.   (air-types place-types 1)
  116.   (ship-types place-types 1)
  117.   )
  118.  
  119. (add (convoy fleet cv-fleet) capacity (2 1 2))
  120.  
  121. (add place-types capacity 40)
  122.  
  123. ;;; Unit-terrain capacities.
  124.  
  125. (table unit-size-in-terrain
  126.   (u* t* 1)
  127.   (ground-types t* 50)
  128.   (place-types t* 100)
  129.   )
  130.  
  131. (add t* capacity 100)
  132.  
  133. ;;; Unit-material capacities.
  134.  
  135. (table unit-storage-x
  136.   (u* oil 1)
  137.   ;; Ships typically carry enough for six months at sea.
  138.   (ship-types oil 6)
  139.   (place-types oil (100 500 1000 1000 1000))
  140.   (air-types planes (200 100 200))
  141.   )
  142.  
  143. ;;; Vision.
  144.  
  145. (set terrain-seen true)
  146.  
  147. ;;; Reporters and civilians are always reporting on activities
  148. ;;; at fixed places.
  149.  
  150. (add place-types see-always true)
  151.  
  152. ;;; Actions.
  153.  
  154. (add u* acp-per-turn 1)
  155.  
  156. (add ground-types acp-per-turn (4 5))
  157.  
  158. (add air-types acp-per-turn 4)
  159.  
  160. (add ship-types acp-per-turn 40)
  161.  
  162. (add base acp-per-turn 0)
  163.  
  164. ;;; Movement.
  165.  
  166. (add place-types speed 0)
  167.  
  168. (table mp-to-enter-terrain
  169.   (ground-types sea-t* 99)
  170.   ;; Cliffs and salt marshes are basically uncrossable.
  171.   (ground-types cliffs 99)
  172.   (ground-types salt-marsh 99)
  173.   (ship-types land-t* 99)
  174.   ((fleet cv-fleet) shallows 2)
  175.   (u* ice 99)
  176.   (air-types ice 1)
  177.   (u* neutral 99)
  178. )
  179.  
  180. ;;; Transports will get you to the edge of the cell, but the
  181. ;;; passengers have to cross any borders on their own.
  182.  
  183. (table ferry-on-entry
  184.   (convoy ground-types over-own)
  185.   )
  186.  
  187. (table ferry-on-departure
  188.   (convoy ground-types over-own)
  189.   )
  190.  
  191. (table material-to-move
  192.   (u* oil 1)
  193.   )
  194.  
  195. (table consumption-per-move
  196.   (armor oil 1)
  197.   )
  198.  
  199. (table control-range
  200.   (ground-types t* 0)
  201.   (place-types t* 0)
  202.   )
  203.  
  204. (table keep-control-range
  205.   (ground-types t* 0)
  206.   (place-types t* 0)
  207.   )
  208.  
  209. ;;; Construction.
  210.  
  211. (table acp-to-toolup
  212.   (builders u* 1)
  213.   )
  214.  
  215. (table tp-to-build
  216.   (builders infantry 6)
  217.   (builders armor 24)
  218.   (builders air-types 24)
  219.   (builders ship-types 36)
  220.   )
  221.  
  222. (table tp-max
  223.   (builders infantry 6)
  224.   (builders armor 24)
  225.   (builders air-types 24)
  226.   (builders ship-types 36)
  227.   )
  228.  
  229. (add ground-types cp (6 9))
  230. (add air-types cp 12)
  231. (add ship-types cp 6)
  232.  
  233. (table acp-to-create
  234.   (builders ground-types 1)
  235.   (builders air-types 1)
  236.   (builders ship-types 1)
  237.   )
  238.  
  239. (table cp-on-creation
  240.   (builders ground-types 1)
  241.   (builders air-types 1)
  242.   (builders ship-types 1)
  243.   )
  244.  
  245. (table acp-to-build
  246.   (builders ground-types 1)
  247.   (builders air-types 1)
  248.   (builders ship-types 1)
  249.   )
  250.  
  251. (table cp-per-build
  252.   (builders ground-types 1)
  253.   (builders air-types 1)
  254.   (builders ship-types 1)
  255.   )
  256.  
  257. (table supply-on-creation
  258.   (u* oil 1)
  259.   (air-types planes (20 10 20))
  260.   )
  261.  
  262. ;;; Repair.
  263.  
  264. (add ground-types hp-recovery (1.00 0.50))
  265.  
  266. (table auto-repair
  267.   (place-types ground-types 1.00)
  268.   )
  269.  
  270. (table auto-repair-range
  271.   ;; Replacements can easily get to nearby units.
  272.   (u* ground-types 1)
  273.   )
  274.  
  275. ;;; Production.
  276.  
  277. (table base-production
  278.   (place-types oil 1)
  279.   (base oil 0)
  280.   ((city capital) planes 10)
  281.   )
  282.  
  283. (table base-consumption
  284.   ((infantry armor) oil (1 5))
  285.   (ship-types oil 1)
  286.   (air-types oil (3 8 3))
  287.   )
  288.  
  289. (table hp-per-starve
  290.   (ship-types oil 1.00)
  291.   (air-types oil 1.00)
  292.   )
  293.  
  294. (table consumption-as-occupant
  295.   (air-types oil 1)
  296.   )
  297.  
  298. ;;; Combat.
  299.  
  300. (add ground-types hp-max (9 6))
  301.  
  302. (add air-types hp-max 3)
  303.  
  304. (add ship-types hp-max 9)
  305.  
  306. (add place-types hp-max (3 36 48 48 48))
  307.  
  308. (table acp-to-attack
  309.   (u* u* 1)
  310.   ;; Ships can always foil attacks by staying out to sea.
  311.   (ground-types ship-types 0)
  312.   ;; Convoys are not combat units.
  313.   (convoy u* 0)
  314.   ;; Subs are only useful against surface ships.
  315.   (sub-fleet u* 0)
  316.   (sub-fleet ship-types 1)
  317.   (sub-fleet sub-fleet 0)
  318.   ;; Places can't attack anything by themselves.
  319.   (place-types u* 0)
  320.   )
  321.  
  322. ;; Air units attack by "firing" (ie raids).
  323.  
  324. (add air-types acp-to-fire 1)
  325.  
  326. (add air-types range (3 8 3))
  327.  
  328. (table withdraw-chance-per-attack
  329.   (infantry ground-types (20 10))
  330.   (armor    ground-types (30 20))
  331.   )
  332.  
  333. (table acp-for-retreat
  334.   (ground-types ground-types 1)
  335.   )
  336.  
  337. (table hit-chance
  338.   (u* u* 50)
  339.   ;; Ships are hard to shoot at from shore, but a counterattack
  340.   ;; might connect.
  341.   (ground-types ship-types 10)
  342.   (fleet convoy 95)
  343.   ;; Convoys are not combat units, but do have a couple escorts.
  344.   (convoy u* 5)
  345.   ;; Subs are only useful against surface ships.
  346.   (sub-fleet u* 0)
  347.   (sub-fleet ship-types 50)
  348.   (sub-fleet sub-fleet 0)
  349.   ;; Subs can generally sink *something* in a convoy.
  350.   (sub-fleet convoy 75)
  351.   ;; ASW is effective once it finds the subs.
  352.   (asw-fleet sub-fleet 80)
  353.   (place-types infantry 20)
  354.   (place-types armor 10)
  355.   )
  356.  
  357. (table damage
  358.   (u* u* 1)
  359.   ;; A fleet of surface ships can do a lot of damage.
  360.   (fleet u* 2d3+1)
  361.   ;; Subs are only useful against surface ships.
  362.   (sub-fleet u* 0)
  363.   (sub-fleet ship-types 1)
  364.   (sub-fleet sub-fleet 0)
  365.   ;; Subs can devastate a convoy.
  366.   (sub-fleet convoy 2d4+1)
  367.   ;; ASW can take a chunk out of a sub fleet.
  368.   (asw-fleet sub-fleet 2d4+3)
  369.   )
  370.  
  371. (table hp-min
  372.   (u* place-types 1)
  373.   )
  374.  
  375. (table capture-chance
  376.   ;; Armor can be captured and made use of.
  377.   (ground-types armor 20)
  378.   ;; (Ground units are not going to catch planes in the air
  379.   ;; or ships at sea, so can only capture them if in cities.)
  380.   ;; Cities offer basically zippo resistance to armies.
  381.   (ground-types place-types 90)
  382.   ;; Battle fleets can capture cargo ships and such.
  383.   ((fleet asw-fleet) convoy 90)
  384.   )
  385.  
  386. (table protection
  387.   ;; Ground units protect cities.
  388.   (ground-types place-types 50)
  389.   ((air-force interceptor) place-types 80)
  390.   (place-types ground-types 50)
  391.   )
  392.  
  393. (table material-to-fire
  394.   (air-types planes (100 50 100))
  395.   )
  396.  
  397. (table consumption-per-attack
  398.   (air-types planes 10)
  399.   )
  400.  
  401. (table hit-by
  402.   ;; This reflect plane losses due to AA.
  403.   (ground-types planes 1)
  404.   (ship-types planes (1 3 4 0 2))
  405.   (place-types planes (1 2 5 5 10))
  406.   )
  407.  
  408. ;;; Backdrop.
  409.  
  410. (table out-length
  411.   ;; Net consumers of supply should never give any up automatically.
  412.   (ground-types m* -1)
  413.   ;; Cities and towns can share things around.
  414.   (place-types m* 3)
  415.   )
  416.  
  417. (table in-length
  418.   ;; Supply to ground units can go several hexes away.
  419.   (ground-types m* 3)
  420.   ;; Cities and bases can get their supplies from some distance away.
  421.   (place-types m* 10)
  422.   (base m* 5)
  423.   )
  424.  
  425. ;(table people-surrender-chance
  426. ;  (ground-types t* 100)
  427. ;  (place-types t* 100)
  428. ;  )
  429.  
  430. (add place-types lost-vanish-chance 0)
  431.  
  432. ;;; The world.
  433.  
  434. (world 360 (year-length 12))
  435.  
  436. ;;; Sides.
  437.  
  438. (set side-library '(
  439.   ((name "USA") (adjective "American") (emblem-name "flag-usa"))
  440.   ((name "UK") (adjective "British") (emblem-name "flag-uk"))
  441.   ((name "USSR") (adjective "Soviet") (emblem-name "soviet-star"))
  442.   ((name "France") (adjective "French") (emblem-name "flag-france"))
  443.   ((name "Germany") (adjective "German") (emblem-name "flag-swastika"))
  444.   ((name "Italy") (adjective "Italian") (emblem-name "flag-italy"))
  445.   ((name "Japan") (adjective "Japanese") (emblem-name "flag-japan"))
  446.   ((name "China") (adjective "Chinese") (emblem-name "flag-china"))
  447.   ((name "Spain") (noun "Spaniard") (adjective "Spanish") (emblem-name "flag-spain"))
  448.   ((name "Turkey") (adjective "Turkish") (emblem-name "flag-turkey"))
  449.   ))
  450.  
  451. (set calendar '(usual month))
  452.  
  453. (set season-names
  454.   ((0 2 "winter") (3 5 "spring") (6 8 "summer") (9 11 "autumn")))
  455.  
  456. ;;; Random setup parameters (for testing).
  457.  
  458. (add t* alt-percentile-min   0)
  459. (add t* alt-percentile-max   0)
  460. (add (sea land) alt-percentile-min ( 0  70))
  461. (add (sea land) alt-percentile-max (70 100))
  462. (add t* wet-percentile-min   0)
  463. (add t* wet-percentile-max 100)
  464.  
  465. ;;; River generation.
  466.  
  467. (add (land forest mountains) river-chance (10.00 25.00 25.00))
  468.  
  469. (set river-sink-terrain shallows)
  470.  
  471. ;;; Road generation.
  472.  
  473. (table road-into-chance
  474.   (t* land 100)
  475.   (land (desert forest mountains) (50 40 20))
  476.   )
  477.  
  478. (set edge-terrain ice)
  479.  
  480. (set country-radius-min 4)
  481.  
  482. (add ground-types start-with (4 1))
  483. (add place-types start-with 3)
  484. (add port-city start-with 1)
  485. (add capital start-with 1)
  486.  
  487. ;(add (sea land) country-terrain-min (4 4))
  488.  
  489. (table favored-terrain
  490.   (u* t* 0)
  491.   (ground-types land 100)
  492.   (air-types land 100)
  493.   (ship-types sea 100)
  494.   (place-types land 100)
  495.   )
  496.  
  497. (add land country-people-chance 100)
  498.  
  499. (table unit-initial-supply
  500.   (u* oil 9999)
  501.   (air-types planes 9999)
  502.   )
  503.  
  504. (game-module (design-notes
  505.   "The basic idea of this game is to model the grand strategy of the WWII era."
  506.   "Scale is 1 deg or 90-100km/hex, 1 month/turn."
  507.   ""
  508.   "At this scale the details of maneuver become less important than managing"
  509.   "production and logistics."
  510.   ""
  511.   "Land units are infantry and armor armies, basically the same except that armor"
  512.   "is more highly mechanized.  Units are about corps-sized."
  513.   ""
  514.   "Air forces represent strategic bombing, etc abilities."
  515.   ""
  516.   "Convoys are primarily transport ships with some protection."
  517.   ""
  518.   "Fleets are battleship/cruiser fleets, while carrier fleets have a long-range"
  519.   "strike capability due to their aircraft."
  520.   "Submarine fleets represent a large number of subs operating over a wide area."
  521.   ""
  522.   "City production is very hard to change."
  523.   ))
  524.  
  525.